package demo2;

/**
 * 客户端：测试桥接模式的灵活组合
 */
public class ShapeDrawClient {
    public static void main(String[] args) {
        System.out.println("=== 桥接模式图形绘制测试 ===");

        // 1. 笛卡尔坐标系
        CoordinateSystem cartesian = new CartesianSystem();
        // 笛卡尔坐标系画矩形（参数：x1,y1,x2,y2）
        Shape cartesianRect = new Rectangle(cartesian, 1.0, 2.0, 4.0, 5.0);
        cartesianRect.draw();
        // 笛卡尔坐标系画椭圆（参数：x1,y1,x2,y2）
        Shape cartesianEllipse = new Ellipse(cartesian, 2.0, 3.0, 6.0, 7.0);
        cartesianEllipse.draw();

        System.out.println();

        // 2. 极坐标系
        CoordinateSystem polar = new PolarSystem();
        // 极坐标系画矩形（参数：r1,θ1,r2,θ2）
        Shape polarRect = new Rectangle(polar, 3.0, 0.0, 6.0, 90.0);
        polarRect.draw();
        // 极坐标系画椭圆（参数：r1,θ1,r2,θ2）
        Shape polarEllipse = new Ellipse(polar, 2.0, 45.0, 5.0, 135.0);
        polarEllipse.draw();
    }
}
